package org.finegold.core.netty.props;

import io.netty.channel.ChannelHandler;
import lombok.Data;
import org.finegold.core.netty.handler.ServerHandler;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.Collections;
import java.util.List;

/**
 * WebSocket服务设置
 * @author songkaikai
 * @since 2021/1/21
 */
@ConfigurationProperties(prefix = "fine.netty")
@Data
public class ServerProperties {
	/**
	 * 读时间
	 */
	private int readTime=60;
	/**
	 * 写时间
	 */
	private int writeTime=60;
	/**
	 * 读写时间
	 */
	private int readAndWriteTime=60;
    /**
     * 是否开启netty
     */
    private Boolean enabled = false;

    /**
     * 通道处理器集合
     */
    private List<Class<? extends ChannelHandler>> channelHandlers = Collections.singletonList(ServerHandler.class);

    /**
     * 连接端口
     */
    private Integer port;

	/**
	 * websocket连接路径
	 */
	private String wsUrl = "/websocket";

	/**
	 * 最大的内容长度
	 */
	private Integer maxContentLength = 1024 * 64;

	/**
	 * 自定义协议或websocket
	 */
	private Integer type=1;
}
